
#ifndef _SPRITE_H_
#define _SPRITE_H_

#include "LibraryFrameworkExport.h"
#include "Graphics/Textures/Texture.h"
#include "Maths/Rectangle.h"
#include "Maths/Vector2.h"

#include <string>

namespace CasaEngine
{
	/////////////////////////////////////////////////////////////
	/// Sprite
	/////////////////////////////////////////////////////////////
	class LIBRARY_FRAMEWORK_EXPORT Sprite
	{
	public:
		Sprite();
		~Sprite();

		std::string GetName() const;
		Texture* GetTexture2D() const;
		CRectangle GetPositionInTexture() const;	
		Vector2I GetOrigin() const;
		std::string GetAssetFileName() const;	

//#if EDITOR
		void SetName(std::string val);
		void SetTexture2D(Texture *val);
		void SetPositionInTexture(CRectangle val);
		void SetOrigin(Vector2I val);
		void SetAssetFileName(std::string val);
//#endif // EDITOR

	private:
		//ID
		std::string m_Name;
		//constant
		Texture* m_pTexture2D;		
		CRectangle m_PositionInTexture;		
		Vector2I m_Origin;		
		//std::vector<Shape2DObject> m_Collisions = new List<Shape2DObject>();
		std::string m_AssetFileName;		
	};
} // namespace CasaEngine

#endif // _SPRITE_H_
